Reuse by Program Transformation
نویسنده
چکیده
Certain adaptations, that are usually performed manually by functional programmers are formalized by program transformations in this paper. We focus on adaptations to obtain a more reusable version of a program or a version needed for a special use case. The paper provides a few examples, namely propagation of additional parameters, introduction of monadic style, and symbolic rewriting. The corresponding transformations are specified by inference rules in the style of natural semantics. Preservation properties such as type and semantics preservation are discussed. The overall thesis of this paper is that suitable operator suites for automated adaptations and a corresponding transformational programming style can eventually be combined with other programming styles, such as polymorphic programming, modular programming, or the monadic style, in order to improve reusability of functional programs. ?Partial support received from the Netherlands Organization for Scientific Research (NWO) under the Generation of Program Transformation Systems project
منابع مشابه
Understanding Unfulfilled Memory Reuse Potential in Scientific Applications
The potential for improving the performance of data-intensive scientific programs by enhancing data reuse in cache is substantial because CPUs are significantly faster than memory. Traditional performance tools typically collect or simulate cache miss counts or rates and attribute them at the function level. While such information identifies program scopes that suffer from poor data locality, i...
متن کاملXT: a bundle of program transformation tools
Program transformation encompasses a variety of different, but related, language processing scenarios, such as optimization, compilation, normalization, and renovation. Across these scenarios, many common, or similar subtasks can be distinguished, which opens possibilities for software reuse. To support and demonstrate such reuse across program transformation project boundaries, we have develop...
متن کاملProgram Transformations for Cache Locality Enhancement on Shared - memory
Program Transformations for Cache Locality Enhancement on Shared-memory Multiprocessors Naraig Manjikian Doctor of Philosophy Graduate Department of Electrical and Computer Engineering University of Toronto 1997 This dissertation proposes and evaluates compiler techniques that enhance cache locality and consequently improve the performance of parallel applications on shared-memory multiprocesso...
متن کاملTransforming certificates of program correctness along justified program transformations
A certificate is a mathematical object that can be used to establish that a piece of mobile code satisfies some security policy. Since in general certificates cannot be generated automatically, there is an interest in developing methods to reuse certificates. This article studies methods that transform certificates of a program into certificates of another program derived from the initial one b...
متن کاملExperiments on the Effectiveness of an Automatic Insertion of Safe Memory Reuses into ML-like Programs
We present extensive experimental results on our static analysis and source-level transformation [12, 11] that adds explicit memory-reuse commands into ML program text. Our analysis and transformation cost is negligible (1,582 to 29,000 lines per seconds) enough to be used in daily programming. The payoff is the reduction of memory peaks and the total garbage collection time. The transformed pr...
متن کاملUsing Formal Transformations to Construct a Component Repository
This paper discusses how theoretical results from the eld of program transformations can be applied to develop a new approach to software reuse. We describe a model for the semantics of nondeterministic programs and speciications and use this model to show how reenements and transformations of programs and speciications can be proved correct by reference to their corresponding Weakest Precondit...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1999